//
// Created by MikeChen on 2025/4/3.
//


#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main() {
    /*
        1.数组是一组有序数据的集合
            数组中的各数据的排列是有一定的规律的，下标代表数据在数组中的序号。
        2.用一个数组名和下标来唯一地标识确定数组中的元素
        3.数组中的每一个元素都是属于同一数据类型
    */

    //一推数组的定义
//    float arr[10];
    //使用及引用
    int arr[10];
    arr[0] = 1;
    arr[1] = arr[0];
    /*
        注意：
            数组的命名规则和变量的命名规则相同
            定义数组的时候，需要指定数组的大小，即[]中必须是常量表达式
            C语言中数组下标从0开始
            数组大小为元素个数*单个元素类型所占字节数
     */
    arr[9] = arr[0] + arr[1];
    printf("%d\n", arr[9]);

    //数组的初始化
    int ar1[5] = {1, 2, 3, 4, 5,};//定义数组的同时初始化成员
    int ar2[5] = {4, 5, 6};//定义数组的同时初始化部分成员
    int ar3[5] = {};
    int ar4[5];
    for (int i = 0; i < 5; ++i) {
        printf("%d\t", ar1[i]);
    }
    printf("\n");
    for (int i = 0; i < 5; ++i) {
        printf("%d\t", ar2[i]);
    }
    printf("\n");
    for (int i = 0; i < 5; ++i) {
        printf("%d\t", ar3[i]);
    }
    printf("\n");
    for (int i = 0; i < 5; ++i) {
        printf("%d\t", ar4[i]);
    }

    /*
     * 数组的输入输出
     * */

    int arr5[5];//下标0，1，2，3，4
    /*int x;
    scanf("%d",&x);
    printf("x:%d\n",x);*/
    for (int i = 0; i < 5; ++i) {
        scanf("%d", &arr5[i]);//&+变量名，从键盘获取一个Int数值存入
    }
    for (int i = 0; i < 5; ++i) {
        printf("arr5[%d]:%d\n", i, arr5[i]);
    }
    //数组在内存中就是一段连续的空间，每个元素的类型都是一样的
    int arr6[5]={1,2,3,4,5,};
    printf("%#X\n",arr6);

    system("read -rsp $'Press enter to continue...\\n'");
    return EXIT_SUCCESS;
}